package cn.itcast.service;

import cn.itcast.entity.PageResult;
import cn.itcast.pojo.Menu;

import java.util.List;

public interface MenuService {

    /**
     * 查询菜单列表
     * @param currentPage
     * @param pageSize
     * @return
     */
    PageResult querymenuPage(Integer currentPage, Integer pageSize);

    /**
     * 根据菜单id查询 回显
     * @param id
     * @return
     */
    Menu findById(Integer id);

    /**
     * 新增主菜单
     * @param menu
     * @param permissionIds
     * @return
     */
    void addMenu(Menu menu, Integer[] permissionIds);


    /**
     * 编辑菜单
     * @param menu
     * @param permissionIds
     */
    void updateMenu(Menu menu, Integer[] permissionIds);

    /**
     * 删除菜单成功
     * @param id
     */
    void deleteMenu(Integer id);

    /**
     * 删除父菜单
     * @param id
     */
    void deleteById(Integer id);

    /**
     * 根据父id删除子id
     * @param id
     */
    void deleteByPid(Integer id);

    /**
     * 查询所有
     * @return
     */
    List<Menu> findAll();

}
